.. _cmmCfgSetInOutRatio: cmmCfgSetInOutRatio ===================== --------------------- SYNOPSYS ````````` .. code-block:: none VT_I4 cmmCfgSetInOutRatio( [in] VT_I4 Axis, [in] VT_R8 Ratio ) DESCRIPTION ````````````` - Feedback 펄스와 Command 펄스의 분해능 비율(Resolution ratio)을 설정합니다. Feedback 펄스의 분해능이란 엔코더의 1회전 시에 발생되는 펄스 수를 의미합니다. Command 펄스의 분해능이란 모터를 1회전시키기 위해 필요한 Command 펄스 수를 의미합니다. PARAMETER ``````````` - Axis: 축번호. 축번호는 상수값으로 [cmX1] 부터 0 번째 축을 기준 축으로 임의의 축을 설정할 수 있습니다. \ - Ratio : cmmCfgSetInOutRatio 함수의 인자이며, Feedback 펄스와 Command 펄스의 분해능 비를 지정합니다. 이 값은 아래와 같이 설정합니다. Ratio = (Feedback 펄스 분해능)/(Command 펄스의 분해능) RETURN VALUE ````````````` - cmmCfgSetInOutRatio() 및 cmmCfgGetInOutRatio() 함수의 반환값 +--------------+----------------+ | Value | Meaning | +==============+================+ | 음수 | 수행 실패 | +--------------+----------------+ | cmERR_NONE | 수행 성공 | +--------------+----------------+ seealso ````````` □ In/Out Ratio 는 Actual(Feedback) position 또는 Actual speed 를 논리 단위로 읽을 때 적용됩니다. 논리적 단위 거리나 단위 속도는 Command 펄스기준으로 설정되므로 Command 펄스와 Feedback 펄스의 분해능이 서로 다르다면 Actual position 이나 Actual speed 의 논리값 계산이 잘못되게 됩니다. \ □ In/Out Ratio 는 cmmStGetPosition() 함수와 cmmStGetSpeed() 함수에서 카운터를 cmCNT_FEED 으로 설정한 경우에만 영향을 미칩니다. Example ````````` .. code-block:: c++ :linenos: :emphasize-lines: 5 C/C++ #include “Cmmsdk.h” #include “CmmsdkDef.h” void OnSetInOutRatio () { long nAxisNo = 0; // 입력 펄스와 출력 펄스의 분해능 비율을 설정할 축을 선택합니다. double fInOutRatio; // 분해능 비율 정보. /* 입력 펄스와 출력 펄스의 분해능 비율(In/Out Ratio)을 설정합니다. In/Out Ratio 설정은 cmmCfgGetInOutRatio, cmmCfgSetInOutRatio 함수의 대상 카운터가 입력 펄스일 경우에만 영향을 미칩니다. */ // 분해능 비율을 얻어와 분해능 비율을 ‘1’로 설정합니다. if (cmmCfgGetInOutRatio ( nAxisNo, &fInOutRatio ) != cmERR_NONE ) { if ( fInOutRatio != 1.0f ) { cmmCfgSetInOutRatio ( nAxisNo, 1.0f ); } } } .. code-block:: none :linenos: Visual Basic Private Sub OnSetInOutRatio () Dim nAxisNo As Long ‘ 입력 펄스와 출력 펄스의 분해능 비율을 설정할 축을 선택합니다. Dim fInOutRatio As Double ‘ 분해능 비율 정보. nAxisNo = 0 ‘ 입력 펄스와 출력 펄스의 분해능 비율(In/Out Ratio)을 설정합니다. In/Out Ratio 설정은 ‘cmmCfgGetInOutRatio, cmmCfgSetInOutRatio 함수의 대상 카운터가 입력 펄스일 경우에만 영향을 미칩니다. ‘ 분해능 비율을 얻어와 분해능 비율을 ‘1’로 설정합니다. If cmmCfgGetInOutRatio ( nAxisNo, fInOutRatio ) <> cmERR_NONE Then If fInOutRatio <> 1 Then Call cmmCfgSetInOutRatio ( nAxisNo, 1 ) End If End If End Sub .. code-block:: none :linenos: Visual Delphi procedure OnSetInOutRatio (); var nAxisNo : LongInt; // 입력 펄스와 출력 펄스의 분해능 비율을 설정할 축을 선택합니다. fInOutRatio : Double; // 분해능 비율 정보. begin nAxisNo := 0; { 입력 펄스와 출력 펄스의 분해능 비율(In/Out Ratio)을 설정합니다. In/Out Ratio 설정은 cmmCfgGetInOutRatio, cmmCfgSetInOutRatio 함수의 대상 카운터가 입력 펄스일 경우에만 영향을 미칩니다. } // 분해능 비율을 얻어와 분해능 비율을 ‘1’로 설정합니다. if cmmCfgGetInOutRatio ( nAxisNo, @fInOutRatio ) <> cmERR_NONE then begin if fInOutRatio <> 1 then begin cmmCfgSetInOutRatio ( nAxisNo, 1 ); end; end; end; .. seealso:: :ref:`cmmCfgGetInOutRatio`